#pragma once

class ProbabilityModel
{
	public:
		ProbabilityModel(unsigned int symbolSize = 8);
		virtual ~ProbabilityModel(void);

		virtual int getUpperBoundForSymbol(unsigned int symbol) = 0;
		virtual int getLowerBoundForSymbol(unsigned int symbol) = 0;
		virtual int getAllSymbolsCount() = 0;
		virtual unsigned int getSymbolFromCodeNumber(unsigned int codeNumber) = 0;
		virtual unsigned int getSymbolSize() = 0;
};

